let arr = [1, 2, 3, 2, 5, 6, 4, 5]
let res = [2, 5]

let getRNum = function (arr) {

    let length = arr.length
    let res = []
    for (let i = 0; i < length; i++) {
        const item = arr[i];

        let index = arr.indexOf(item, i + 1)
        if (index > i) {
            res.push(item)
        }

    }
    res = Array.from(new Set(res))
    console.log(res)
}

getRNum(arr)


// 法二、集合唯一性法

// 利用Set中元素的唯一性，逐个将数组中的元素添加到set中，若size没发生改变，则说明数组的此元素为重复元素，再对结果数组去重，即可得到结果。

function useSet(Arr) {
    let set = new Set();
    let result = [];
    let len = Arr.length;
    for (let i = 0; i < len; i++) {
        let setLen = set.size;
        set.add(Arr[i]);
        //若集合调用add方法后，集合的size没有变化，则说明该元素为重复的数字
        if (setLen == set.size) {
            result.push(Arr[i]);
        }
    }
    return Array.from(new Set(result));
}
